Athletic performance by tracking objects hit or thrown at an electronic display

ABSTRACT

The present disclosure relates to effective, efficient, and economical methods and systems for improving athletic performance by tracking objects typically thrown or hit by athletes. In particular, the present disclosure relates to a unique configuration of technology wherein an electronic display is located at or behind the target and one or more cameras are positioned to observe the target. Once an object is thrown or hit, one or more cameras may observe and track the object. Further, an electronic display may be used to provide targeting information to an athlete and also to determine the athlete&#39;s accuracy.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 15/396,642, filed Dec. 31, 2016, which claims the benefit ofand priority to U.S. Provisional Patent Application Ser. No. 62/376,332,filed Aug. 17, 2016, the entireties of which are hereby incorporatedherein by reference.

BACKGROUND Field of the Invention

The present disclosure relates to methods and systems for improvingathletic performance by tracking objects typically thrown or hit byathletes.

Description of the Related Art

Many sports require that an athlete repeatedly throw or hit an object toa target with a specific accuracy. For example, baseball requires thatpitchers throw a baseball within a strike zone above a home plate.Further, a good pitcher in baseball should be able to throw a baseballto a specific area within the strike zone (e.g., lower right corner ofthe strike zone) that is optimal for striking out a player. Other sportsbesides baseball also have similar goals. For example, a good hockeyplayer will be skilled at not just placing a puck in a goal, but also intargeting the puck to a specific area within the goal.

Currently, athletic training products on the market consist of staticdisplays that only provide athletes with a fixed template to aim at,such as a vertical static display with colored grids showing differentareas that the athlete can target. Rarely do such displays incorporateany form of feedback, though there are some products that measure speedof a thrown object using radar. However, these products do not provide atargeting system that can be easily adjusted, nor do they allow forelectronically tracking and analyzing an athlete's performance. As aresult, these training aids are highly limited in the feedback they canprovide to athletes, coaches, parents, or others in understanding anathlete's individual performance. Further, they do not allow for easilycomparing performance across athletes or according to factors deemedrelevant to an athlete's performance, such as age or environmentalconditions.

SUMMARY

The present disclosure is related to effective, efficient, andeconomical methods and systems for improving athletic performance bytracking objects typically thrown or hit by athletes. In particular, thepresent disclosure relates to a unique configuration of technologywherein an electronic display is located at or behind the target and oneor more cameras are positioned to observe the target. Once an object isthrown or hit, one or more cameras may observe and track the object.Further, an electronic display may be used to provide targetinginformation to an athlete and also to determine the athlete's accuracy.

An example of a system for monitoring objects thrown or hit by anathlete is described herein. The system may comprise an electronicdisplay, wherein the electronic display contains an arrangement oflight-emitting devices for displaying targets to the athlete; one ormore cameras, wherein at least one camera is positioned to observe theelectronic display; and a computer coupled to the electronic display andthe one or more cameras, wherein the computer uses video from the one ormore cameras to determine relative to the electronic display where anobject is thrown or hit.

A computer operable method is described for monitoring objects thrown orhit by an athlete. The method may comprise observing an electronicdisplay, wherein the electronic display contains an arrangement oflight-emitting devices for displaying targets to the athlete, via one ormore cameras, wherein at least one camera is positioned to observe theelectronic display; and using video from the one or more cameras todetermine relative to the electronic display where an object is thrownor hit.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a system for tracking objects.

FIG. 2 illustrates another example of a system for tracking objects.

FIG. 3 illustrates another example of a system tracking objects.

FIG. 4 illustrates an example of a custom target display.

FIG. 5 illustrates an example of a system configuration.

FIG. 6 illustrates an example of a user record.

FIG. 7 illustrates an example of a method for controlling a targetdisplay using a computer.

FIG. 8 illustrates a method for entering a user profile.

FIG. 9 illustrates an example of a method for calculating parametersrelating to an object in motion.

FIG. 10 illustrates an example of a method for processing an event or aseries of events.

FIG. 11 illustrates an example of a method for comparing playersaccording to their user records.

FIG. 12 illustrates an example of the network functionality of thesystem.

FIG. 13 illustrates an example of a target display.

FIG. 14 illustrates another example of a target display.

FIG. 15 illustrates an example of target data.

FIG. 16 illustrates another example of target data.

FIG. 17 illustrates another example of target data.

FIG. 18 illustrates an example of multiple user records.

FIG. 19 illustrates another example of multiple user records.

FIG. 20 illustrates an example of performance/analytics information fora particular user.

FIG. 21 illustrates another example of performance/analytics informationfor a particular user.

FIG. 22 illustrates another example of performance/analytics informationfor a particular user.

FIG. 23 illustrates an example of how a target data template may beconstructed to form a game mode.

FIG. 24 illustrates another example of how a target data template may beconstructed to form a game mode.

DETAILED DESCRIPTION OF ILLUSTRATED EMBODIMENTS

Although the invention will be described in connection with certainpreferred embodiments, it should be understood that the invention is notlimited to those particular embodiments. On the contrary, the inventionis intended to cover all alternatives, modifications, and equivalentarrangements as may be included within the spirit and scope of theinvention as defined by the appended claims.

With respect to FIG. 1, an example of a System 100 for tracking objectsis shown. In this embodiment, an Athlete 102 may be pitching from abaseball mound in the direction of Home Plate 106. Located behind HomePlate 106 may be a Catching Net 108, which may catch any pitch thrownnear Home Plate 106. Located further behind Catching Net 108 may be aTarget Display 110, which may display locations for the pitcher to throwat as described below. Between Athlete 102 and Target Display 110 may beCamera 104, which may be located on or near the line between a pitchingmound and Home Plate 106 and may be oriented to observe Target Display110. In addition, a Camera 112 may be placed to the side or at anotherposition to observe the trajectory of a ball thrown by Athlete 102.

System 100 may also include a Computer 114, which may be connected toCamera 104, Target Display 110, and Camera 112. Computer 114 mayinstruct Target Display 110 to display a target showing areas thatAthlete 102 should throw at. Computer 114 may then observe theperformance of the athlete by tracking an object thrown toward TargetDisplay 110, such as a baseball, via Camera 104. Based on the trajectoryof the thrown object as recorded via Camera 104 or Camera 112, Computer114 may determine a termination point where the trajectory of the objectchanges abruptly. Further, Computer 114 may determine the location ofthe termination point relative to visually distinct areas presented byTarget Display 110. This may then be recorded into a data array byComputer 114, thereby allowing for the tracking of where objects havebeen repeatedly thrown by the athlete.

In some embodiments, one or more Cameras 116 may be added to thearrangement shown in FIG. 1 to record the appearance or trajectory ofthe object from different perspectives. For example, Cameras 116 may beplaced in a position to show the perspective of a right-handed batter orleft-handed batter, a right-handed goalie or a left-handed goalie,different positions within a soccer net, etc. In some embodiments,Cameras 116 may be integrated into Target Display 110, such as where thetarget display is sufficiently large enough to cover a set of desiredperspectives (e.g., those of a right-handed batter or left-handedbatter). For example, Cameras 116 may be embedded into the structure ofTarget Display 110. As another example, Cameras 116 may be attached viafixtures, such as by brackets or flexible mounts, to Target Display 110.Where Cameras 116 are included, Computer 114 may then pair theadditional data provided by Cameras 116 with the data obtained byCameras 104 and 112. For example, data for Cameras 104 and 112 may beused to show the rise and fall of a pitch along with where it hits,while data from Cameras 116 may show how the same pitch appears to aright or left-handed batter.

With respect to FIG. 2, an example of a System 200 for tracking objectsis shown. System 200 may be comprised of a Personal Computer 202, aTarget Display 204, and a Camera 206. System 200 is an example of abasic implementation of the systems described herein, which can beimplemented using components described in FIG. 1. One of ordinary skillin the art will understand that, with respect to the hardware, custom oroff-the-shelf components may be utilized. For example, Computer 200 maybe a standard desktop or laptop running Windows, MacOS, Linux, etc. As afurther example, Target Display 204 may comprise a standard televisiondisplay, a screen on which images are projected from a video projector,or a custom arrangement as described below. As yet another example,Camera 206 may utilize any camera that has sufficient field of view andresolution to observe objects that are to be tracked and to observevisually distinct areas presented by Target Display 204.

With respect to FIG. 3, an example of a System 300 for tracking objectsis shown. System 300 may include a Personal Computer 302. PersonalComputer 302 may be connected to a Network 306 for exchanging data vianetwork communications. Network 306 may be any type of computer network,such as the Internet, or other data communication network, such as aBluetooth, Cellular, ZigBee, etc., that facilitates the exchange ofelectronic information. Via Network 306, Personal Computer may be ableto upload or download data to or from Server 304 as described below. Inaddition, Network 306 may also facilitate the exchange of informationbetween Personal Computer 302 or Server 304 with Tablet/Phone 308,Second Personal Computer 310, or Second Server 312. Personal Computer302 may perform the same functions as Computer 114.

With respect to FIG. 4, an example of a custom Target Display 400 isshown. Target Display 400 may consist of a Mounting Platform 402attached to which is one or more Display Modules 404. For example,Mounting Platform 402 may consist of a rubber mat suspended verticallyfrom a metal frame (or as another example it may be a metal frameconstructed in the form of a grid-like vertical structure). Further, a16×24 array of Display Modules 404 may be placed on Mounting Platform402 as shown in FIG. 400. In other embodiments, various other sizearrays (e.g., 24×24, 48×96) or other arrangements (e.g., circular,elliptical) may be employed. The one or more Display Modules 404 maythen be connected to Display Component 406, which may allow DisplayComponent 406 to control the state of each of Display Modules 404. Insome embodiments, Display Modules 404 may be connected in sets toDisplay Component 406, which may allow Display Component 406 to controlthe state of each set of Display Modules 404.

With respect to FIG. 5, an example of System Configuration 500 is shown.System Information 502 may be used to store general information neededto configure the software components of the system, such as boot upparameters, location of essential files, etc. Camera Configuration 504may be used to store information relating to initializing, configuring,and operating cameras attached to the system, such as Camera 104 shownin FIG. 1. Display Configuration 506 may be used to store informationrelating to initializing, configuring, and operating target displaysattached to the system, such as Target Display 110. For example, TargetDisplay Templates 508 may be created containing instructions of what isto be displayed on a Target Display 110. A Target Display Template 508may specify a model number of a Target Display 400 and instructions foroperating Display Modules 404 according to that model number. In someembodiments, a Target Display Template 508 may only contain patterns,which the system then interprets to fit a Target Display 110. Forexample, a Target Display Template 508 may contain an image, which thesystem may then interpolate, extrapolate, or otherwise adjust to operatewithin the display parameters of a specific Target Display 110. Inaddition, Display Configuration 506 may be used to store informationrelating to the display of information by the system on a computerdisplay, such as the display of Computer 114. Network Configuration 510may be used to store information relating to initializing, configuring,and operating network connections within the system, such as whatentities (e.g., Personal Computer 302, Server 304, Tablet/Phone 308,Second Personal Computer 310, Second Server 312, etc.) can accessinformation on the system.

With respect to FIG. 6, an example of a User Record 600 is shown. A UserRecord 600 may contain Personal Information 602 relating to a user, suchas a user's name, nickname, mailing address, email address, age, gender,phone number, etc. User Record 600 may also contain Status/RelationshipInformation 604 relating to a user, such as specifying whether a user isan athlete, a coach, a parent/guardian, and may further containrelationship data to manage access between user records as describedbelow.

User Record 600 may also contain Performance/Analytics Information 606,such as Target Data 608 corresponding to Target Display Templates 508.For example, an area around each Display Module 404 may be defined as abin within a data array contained in Target Data 608. Each time thatComputer 114 determines that an object hits within the area within aspecific Display Module 404, it may update the bin within the data arrayof Target Data 608 associated with said area. In some embodiments, a binwithin the data array of Target Data 608 may cover two or more DisplayModules 404.

Target Data 608 may contain multiple arrays associated with TargetDisplay 110. For example, a data array may only represent a particularrange of time (e.g., corresponding to a practice session) or a dataarray may be the sum of other multiple data arrays. In addition, dataarrays may contain addition information indicating the environment orother characteristics relevant to the data. For example, a pitchingsession may involve different targets displayed on Target Display 110,different weather conditions between sessions, different pitchingstances, different lighting conditions (e.g., daylight vs. electriclight), different geographic locations, etc. Accordingly, a data arraycontained within Target Data 608 may include any such information (e.g.,athletic, environmental, geographic, or other factors) that is relevantto one or more object throwing or hitting sessions. In addition, once adata array is created in Target Data 608, it may be used as a templatefor other users. In some embodiments, a user may select to share such adata array with other users, while in other embodiments the system maydetermine what aspects of a data array in Target Data 608 may be shared.

In some embodiments, Performance/Analytics Information 606 may alsocontain, for each throwing or hitting of an object, one or more videoscaptured by Camera 104, Camera 112, Cameras 116, or a combinationthereof.

With respect to FIG. 7, an example of a method 700 for controlling aTarget Display 110 using a Computer 114 is shown. In Step 702, aComputer 114 may receive information specifying the capabilities ofTarget Display 110. For example, a model number specifying thecapabilities of Target Display 110 may be selected by a user.Alternatively, Target Display 110 may provide such information (e.g., amodel number or parameters) to Computer 114 upon connection of TargetDisplay 110 to Computer 114. The Connection of Target Display 110 toComputer 114 may occur by wired or wireless communication. For example,Target Display 110 may use Wi-Fi, Bluetooth, or other protocols tocommunicate with Computer 114. Alternatively, well known wired methodssuch as Ethernet cables may be employed. In some instances, intermediatenetwork devices, such as routers and hubs, may also be employed toconnect Target Display 110 to Computer 114.

At Step 704, Computer 114 may instruct Target Display 110 to perform aself-test. For example, Target Display may methodically display avariety of different patterns to determine that all of its DisplayModules 404 are functioning according to the expected capability ofTarget Display 110. As part of the self-test, Computer 114 may utilize acamera, such as Camera 104, to observe the self-test. For example, byobserving the self-test via Camera 104, Computer 114 may confirm thatall Display Modules 404 of the Target Display 110 are functioningproperly and can be observed by Computer 114 via Camera 104.

At Step 706, the results of the self-test may be displayed to the user.If the self-test indicates a potential problem, it may provideinstructions to the user. For example, Computer 114 may determine viathe self-test that Camera 104 is too close to Target Display 110 andinstruct the user to move Camera 104 or Target Display 110 furtherapart. As another example, Computer 114 may inform the user of a failurevia the self-test to observe particular Display Modules 404 functioningproperly and then may instruct the user to check for obstructionsbetween Camera 104 and Target Display 110 that are blocking Camera 104from observing said Display Modules 404.

At Step 708, Computer 114 may send display information to Target Display110. For example, display information may specify the intensity andcolor that each Display Module 404 should exhibit. In some embodiments,the display information may contain further information relating totime-ordered sequences one or more Display Modules 404 should follow,thereby allowing for animated displays by Target Display 110. Particularexamples of display information that may be shown by Target Display 110are described below. In some embodiments, the display information may beobtained from Target Display Templates 510. In other embodiments, thedisplay information may be obtained from Target Data 608.

At step 710, Computer 114 may send instructions to Target Display 110 toenter a standby mode or turn off. For example, Computer 114 maydetermine based on information received from a camera, such as Camera104, that no objects have been thrown or hit for 15 minutes and sendinstructions to Target Display 110 to enter a standby mode. In someembodiments, Computer 114 may determine based on information receivedfrom a camera, such as Camera 104, that an object has been thrown or hitwhile Target Display 110 is in a standby mode and instruct TargetDisplay 110 to leave standby mode. For example, Computer 114 via Camera104 may observe a baseball entering its field of view and terminating ona net in front of Target Display 110.

With respect to FIG. 8, a method 800 is shown for entering a userprofile. At step 802, a user may enter Personal Information 602 into aUser Record 600. At step 804, a user may enter Status/RelationshipInformation 604 into a User Record 600. For example, the user mayspecify that he or she is an athlete, coach, or parent. In addition, theuser may also include information relating to characteristics of his orher status or relationship to other users. For example, if the user isan athlete, the user may specify the type of sport he or she plays, theposition(s) he or she typically plays, whether he or she is right-handedor left-handed, and other athletic characteristics relevant to his orher status as an athlete. As another example, if the user is a coach,the user may specify the type of sport(s) he or she coaches, his or hertitle (e.g., assistant coach), and any particular expertise (e.g.,pitching trainer).

In addition, users may specify relationships between each other. Forexample, a user may designate himself or herself as a coach to a set ofusers that are athletes, as a parent or guardian to a particular user,or as belonging to one or more organizations. In specifying suchrelationships, a user may be able to access information contained inUser Records 600 based on such relationships. For example, a user who isa coach may be able to review the User Records 600 of users that aredesignated as athletes under the coach's supervision. The permissions toaccess such records based on relationships defined by users may be setby users themselves, a particular group of users having a specificstatus, by the system automatically, or a combination thereof.

At Step 806, a user may review Performance/Analytics Information 606contained in a User Record 600. For example, a user may see how manyballs were thrown on target and an index rating the performance of theathlete as a user. Further details about the Performance/AnalyticsInformation 606 are provided below. In some embodiments, a user may alsobe able to edit the Performance/Analytics Information 606 contained in aUser Record 600, such as instructing the record be reset or thatanalytics should ignore certain information, or to correct erroneousinformation stored by the system.

With respect to FIG. 9, an example of a method 900 for calculatingparameters relating to an object in motion is shown. At Step 902,Computer 114 may determine via one or more cameras, such as Camera 104,that an object is in motion. For example, Computer 114 may be instructedto look for a particular object in motion, such as a baseball, and uponobserving said object entering the field of view of one or more camerasdetermine that an event, such as the pitching of a baseball may haveoccurred. Computer 114 may be instructed to observe for a wide varietyof objects, such as baseballs, hockey pucks, footballs, soccer balls,etc. based on the expected way such an object will appear on a videoscreen (for example, a white round object of an initial size). In someembodiments, Computer 114 may determine the optimum parameters fordetecting such an object based on an initialization routine (e.g.,several baseballs are thrown and the system determines the bestparameters identifying said object). In other embodiments, the systemmay attempt to track any object and may further determine if it is avalid object based on its trajectory.

At Step 904, Computer 114 may determine via one or more cameras thetrajectory of the object. For example, based on each camera it maydetermine frame-by-frame the location of the object, and then create anarray showing the position of the object over a period of time. In someembodiments, this array may then be superimposed over the display fromeach camera on Computer 114. In addition, when two or more cameras areused, Computer 114 may calculate a three-dimensional approximation ofthe trajectory of the object. This may then by displayed using methodsknown in the art to the user as a three-dimensional object on Computer114 for manipulation by the user (e.g., rotating the 3D view).

At Step 906, Computer 114 may determine where an object hit. Forexample, it may determine based on the trajectory information calculatedin step 904 where an object changed direction to denote a terminationpoint. In addition, Computer 114 may then determine based on thetermination point what is the closest Display Module 404 of a TargetDisplay and use that to update a bin in a data array of Target Data 608.In some embodiments, the Target Display may show a visually distinctarea based on color or intensity of a region. In such embodiments,Computer 114 may then determine based on the termination point what isthe appropriate visually distinct area of the Target Display in which itresides.

At Step 908, Computer 114 may determine the rotation of the object. Forexample, an object may be marked with indicators allowing for one ormore cameras to observe the rotation of the object. For example, afootball may be painted half white and half orange and when the ball isthrown, Computer 114 may determine based on analysis of video recordingsfrom one or more cameras the manner in which the object rotated (e.g.,when the object goes from predominately white to orange and back againin a video feed from a side camera, Computer 114 may determine that thisconstitutes one rotation). In some embodiments, the markings may only beobservable via spectrum not visible to the human eye, such as by usingan infrared camera.

At step 910, Computer 114 may determine the speed of the object. Forexample, a user may specify the distance that the camera is located froma target. Based on that parameter and the known position and field ofview of a camera relative to the target, Computer 114 may determine adistance between when an object enters the field of view and the target.Consequently, Computer 114 may calculate the speed of the object basedon the number of video frames it takes for an object from entering thefield of view of a camera to hit a target. As another example, when twoor more cameras are used (such as a camera placed orthogonally to thetrajectory of the object), Computer 114 may calculate the speed of theobject based on trajectory information calculated in step 904. In someembodiments, markings in a physical environment may also be used todetermine the speed of an object. For example, an overhead cameralocated above and in front of a target may observe the transition of anobject over markings in the floor, thereby allowing for calculation ofthe object's speed based on such markings and the number of video framesrequired for the transition.

With respect to FIG. 10, an example of a method 1000 for processing anevent or a series of events is shown. At step 1002, a Computer 114 mayreceive a User Record, such as a record associated with an athlete whois a baseball pitcher. At step 1004, a Computer 114 may select a TargetDisplay Template for use with a Target Display 110. In some embodiments,the Target Display Template may be retrieved from the User Recorditself, while in other embodiments the Target Display Template may beselected from Display Configuration 506. Based on the Target DisplayTemplate, Computer 114 may then proceed with the steps described inmethod 700 to set up a Target Display.

At step 1006, Computer 114 may receive information regarding an eventrecorded by cameras observing a thrown object, such as the throwing ofan object at a target as described in method 900. For example, theathlete associated with the record may throw a baseball at the TargetDisplay located behind a net, which may lead Computer 114 to receiveinformation regarding the trajectory, rotation, speed, and hit locationof the pitch.

At step 1008, Computer 114 may also receive information regardingenvironmental factors, such as light intensity, time of day, weatherconditions, wind speed, location, etc. that a user has selected asrelevant to the event recorded by cameras observing a thrown object.

At step 1010, Computer 114 may update the user record to include theinformation received in steps 1006 or 1008.

The above steps of method 1000 may be performed repeatedly for eachobject thrown or hit at the Target Display, thereby allowing for acumulative record of performance to be recorded in a data array ofTarget Data 608 within the User Record.

With respect to FIG. 11, an example of a method 1100 for comparingplayers according to their User Records is shown. At step 1102, aselection of a Player may be made for comparison, such as choosing aUser Record via Computer 114. At step 1104, parameters may be chosen todetermine how the comparison should be performed. For example, acomparison may be selected on the basis of age, throwing style, school,or other demographic, geographic, or athletic factors of interest. Atstep 1106, the comparison may be performed as requested. For example,Computer 114 may determine for each user record how they comparerelative with respect to Target Display Templates that both users haveutilized. At step 1108, the comparison may be displayed, such as onComputer 114.

In some embodiments, method 1100 may also be used for comparing eventswithin a player's record. For example, at step 1102, a selection of aPlayer may be made, such as choosing a User Record via Computer 114. Atstep 1102, a selection of two or more events in a User Record may bemade for comparison, such as choosing an event number (e.g., pitchnumber three and five) or an event type (e.g., pitches that arefastballs). At step 1106, the comparison may be performed as requested.For example, if pitch number three is a fastball, pitch number five is achangeup, and both were selected for comparison, videos associated witheach pitch may be selected for side by side display. In addition,tracking information for each pitch, such as pitch height or othergeometric analysis of the object's trajectory, distance from intendedtarget, or other metrics recorded with the event, may be selected fordisplay together or side-by-side. At step 1108, the comparison may bedisplayed, such as on Computer 114.

While examples of the system herein are primarily described with respectto Computer 114, the functionality of Computer 114 may be implemented byother components, such as Server 304, Tablet/Phone 308, Second PersonalComputer 310, or Second Server 312. In some embodiments, thefunctionality may be distributed across several such components or maybe performed by a cloud-computing environment.

With respect to FIG. 12, an example of the network functionality of thesystem is described. To help illustrate this example, Personal Computer302 may be a computer being used to operate the system on a baseballfield, Server 304 is a server coupled to maintain a copy of the recordson Personal Computer 302 that may have a more reliable Internetconnection, and Tablet/Phone 308, Second Personal Computer 310, andSecond Server 312 are in the possession of third-parties.

At step 1202, a request may be made to share a user record, such as aparent/guardian using his or her Tablet/Phone 308 to check on theperformance of an athlete. As another example, a Little League may wishto gather comprehensive records of pitching performance for statisticalevaluation using Second Server 312. Further, after performing suchstatistical evaluation, Second Server 312 may share its results with thesystem so as to enhance the system's performance/analytics information.For instance, rankings may be established based on the collectedathletic performance that may then be incorporated by the system whenanalyzing an athlete's performance (e.g., a hit/miss ratio of 25% is a“Greenhorn”, while a hit/miss ratio of 52% is a “Marksman”). In suchembodiments, the system or a particular user may determine whether theperson or device is authorized to access such records and also whatinformation may be shared.

At step 1204, a request may be made to share only performance/analyticsinformation. For example, this may be used in embodiments where accessto any other portion of a user record is prohibited by child privacylaws or regulations. In such embodiments, the system or a particularuser may determine whether the person or device is authorized to accesssuch records and also what information may be shared.

At step 1206, a request may be made to share Target Data Templates. Forexample, coaches or instructors may wish to share Target Data Templatesthey have created with other coaches or instructors. Alternatively,users may wish to download Target Data Templates representing particularplayers they wish to compete against. For example, a user may wish todownload Target Data Templates corresponding to a professional athleticteam and simulate a game against them in Game Mode as described below.In such embodiments, the system or a particular user may determinewhether the person or device is authorized to access such records andalso what information may be shared.

At step 1208, a request may be made to Third Party services forinformation to include in User Records. For example, a request may bemade for weather data, location data, etc. to include in a Target DataRecord.

At step 1210, the system may be used to share information with socialmedia. For example, the system may be configured to generate messagesregarding athletic performance for social media (e.g., “Matty pitchedlike a Marksman in today's session!”). Templates for messages may bestored in System Information 502. Rules for determining how or when togenerate such messages may be stored in System Information 502 or inindividual User Records. In some embodiments, a user may use suchtemplates and rules to generate and post such messages. In furtherembodiments, the system may use such templates and rules to generate andpost such messages automatically.

With respect to FIG. 13, an example of a Target Display is shown. Inthis embodiment, LEDs are suspended on a vertical metal frame. The metalframe is composed of four sections, allowing for convenient disassemblyand storage. Each LED shown in this example may be controlled separatelyin terms of light intensity and color by a computer. Further shownwithin FIG. 12 for exemplary purposes is a Target Data Template, whichis being used to show the strike zone above a plate and within that apreferred target area for a pitcher.

With respect to FIG. 14, another example of the Target Display is shown.In this embodiment, the Target Display is showing that the last pitchwas determined to have a speed of 63 MPH.

With respect to FIG. 15, an example of a Target Data 608 is shown. Asshown, the Target Data 608 is based on a Target Display Template withfive visually unique areas (ball zone, outer strike zone, andupper/middle/lower target zones within the outer strike zone). Further,Target Data 608 has been updated to show where termination points weredetermined to have occurred in relationship to the Target DisplayTemplate. For example, only one hit was recorded in the lower rightportion of the inner/middle strike zone. As seen in FIG. 13, Target Data608 may also include a summary along a horizontal line for each row ofthe data array. In other embodiments, Target Data 608 may include othersimilar summaries, such as on a vertical line for each row of the dataarray.

With respect to FIG. 16, another example of a Target Data 608 is shown.As shown, the Target Data 608 is based on a Target Display Template withfour visually unique areas (ball zone, outer strike zone, middle strikezone, and inner strike zone).

With respect to FIG. 17, another example of a Target Data 608 is shown.As shown, the Target Data 608 is based on a Target Display Template witheight visually unique areas. Though not shown in FIG. 17, each of theseregions may be color coded to represent how they appear on a TargetDisplay. In this example, the purpose of such a Target Display Templatemay be to teach how to throw to the corners of the strike zone.Accordingly, the area outside of the strike zones may be designatedblack (to indicate no light or color to be shown by the Target Displayin those areas). The innermost strike zone area may be designated red(to indicate a red color to be shown by the Target Display in thoseareas), thereby discouraging aiming at that location. The corner strikezones may be designated green (to indicate a green color to be shown bythe Target Display in those areas), thereby encouraging aiming at thatlocation. Finally, the two vertical strike zone areas between the strikezone corners may be designated yellow (to indicate a yellow color to beshown by the Target Display in those areas), thereby showing that aimingat that location is acceptable.

With respect to FIG. 18, an example of multiple User Records is shown.In this embodiment, the system may display the User Records according toPersonal Information 602 and Status/Relationships Information 604. Forexample, for the record associated with student Matt, his personalinformation may be shown. In addition, the personal information from therecords of his coaches and instructors may be shown. Another example ofthis is shown in FIG. 19, except in this example a group of students andtheir personal information may be displayed in connection with thepersonal information of instructors and coaches. Such a view may bedisplayed for example when a coach record is selected, rather than astudent record.

With respect to FIG. 20, an example of performance/analytics informationis shown for a particular user. As shown in the example, the user recordis for a student who has used four different Target Data Templates(Early Development, Intermediate, Select Development, PitchersAdvantage). Based on the user's record of hitting the target areasaccording to the Target Data in the User Record, a cumulative score ofhits and misses can be calculated. In some embodiments, other parametersmay be calculated from the Target Data, such as hit, near hit, and totalmiss.

With respect to FIG. 21, another example of performance/analyticsinformation is shown for a particular user. In this example, Target Datafrom different sessions (e.g., on different days) may be graphed overtime to show improvement or lack thereof. For example, after everypitching session with a specific Target Data Template, a hit/miss ratiomay be calculated as shown in FIG. 22. These hit/miss ratios may then beshown over time, such as on a daily, weekly, or monthly basis, to showwhether the user is improving or not.

With respect to FIG. 23, an example is shown of how a Target DataTemplate may be constructed to form a Game Mode. In a Game Mode, a usermay create a sequence of Data Templates corresponding to a particularpattern of throwing or hitting of an object that is desired. Forexample, baseball has an established lineup of batters, each of whichmay have an optimal strike zone that differs from one player to thenext. A coach therefore may want to create a Game Mode that shows wherethe pitcher should throw from one batter to the next. As shown in FIG.23, an optimal target within the strike zone is shown for the batterMatty as indicated by the dark spot within the strike zone. In addition,other information may be associated with the Target Data Template tohelp a user understand the particular target. For example, a Target DataTemplate in a Game Mode created for a batter may include her position inthe lineup, batting stance, preferred pitch type, etc. An example ofthis is also shown in FIG. 24. This additional information may also bepresented to the user via the Target Display or may be omitted.

A Game Mode may also include rules or conditions to help simulaterealistic play. For example, depending on where a pitch is determined tohit on a Target Data Template, probabilities may be used to determinethe result of the pitch (e.g., home run, player advances to first,pop-fly caught, ball, strike). Accordingly, the Game Mode may be used tosimulate the effect of a game (e.g., 2 strikes, 4 balls, player walks,change to next Target Data Template) by using rules of probability tosimulate a game based on the athlete's performance.

In addition, the Game Mode may be used to simulate the performance of arival team pitcher based on another user's record. For example, once apitcher strikes out three batters, he or she may rest while watching asimulation of how another user would perform against Target DataTemplates representing batters on his or her own team. In suchembodiments, the system may determine a probability of where a rivaluser may hit on the Target Data Templates and use that to simulateoutcomes. Alternatively, as another example, two pitchers may competeagainst each other using two sets of Target Data Templates to representtheir teams, until a game is over.

As another example of a Game Mode, the system may use probabilisticalgorithms or patterns to create dynamic Target Data Templates. Forexample, the Game Mode may display a wandering target within a strikezone with a dynamic Target Data Template. The more frequently thepitcher hits the target, the faster the wandering target may move.

In another embodiment, a Game Mode may use Target Data Templates whereeach Target Data Template specifies information and instructionsrelevant to the throwing or hitting of an object. For example, a TargetData Template may contain information relating to a virtual player, suchas whether the virtual player is left-handed or right-handed, and theoptimal type of pitch(es) (e.g., fastball, curveball, screwball,changeup, drop) that should be thrown against such a virtual player. Thesystem may then allow for Target Data Templates to be organizedaccording to sequence based on a group of virtual players, where eachvirtual player is assigned to a subset of Target Data Templates. Forexample, the Game Mode may present a batting order, where subsets ofTarget Data Templates are presented in accordance with the battingorder. In Game Mode, the system may then randomly or deterministicallyselect Target Data Templates associated with a particular batter untileither the batter is struck out or the Game Mode determines a differentoutcome based on failed pitches. For example, if a pitch is notdelivered correctly, the Game Mode may determine that a hit, strike,bunt, foul tip, home run, etc. may have occurred. In this manner, theGame Mode may progress as if simulating an actual game. Further, suchsimulation may be based on statistical models of each virtual playerthat are based on the past or predicted performance of a real athlete.For instance, the Game Mode may determine there is a 25% chance that aball with a particular speed that hits a particular location may resultin a home run based on such statistical models of a real athlete. Insome embodiments, even if the pitch is delivered correctly, the GameMode may still determine an outcome based on a statistical model,thereby possibly increasing a sense of realism for an athlete.

As described above, Target Data Templates may be used by the system topresent the information relating to a virtual player (e.g.,Left-Handed/Fastball) and may also present particular locations where anobject, such as a baseball, should hit.

In some embodiments, a Game Mode may save the results from such asequence of practice and also may perform statistical analysis. Forexample, the Game Mode may determine success ratios based on particularinformation relating to virtual players (e.g., success rate againstleft-handed batters). As another example, the Game Mode may determinesuccess after a transition has occurred (e.g., success rate against aleft-handed batter following a right-handed batter). Such results andstatistical analysis may then be used by athletes or coaches todetermine particular weaknesses, such as difficulties in throwing to aparticular location, a particular type of pitch, transitioning from onesituation to another, etc.

While particular embodiments and applications of the present inventionhave been illustrated and described, it is to be understood that theinvention is not limited to the precise construction and compositionsdisclosed herein and that various modifications, changes, and variationscan be apparent from the foregoing descriptions without departing fromthe spirit and scope of the invention as defined in the appended claims.

What is claimed is:
 1. A system for monitoring objects thrown or hit byan athlete comprising: an electronic display, wherein the electronicdisplay contains an arrangement of light-emitting devices attached to avertically suspended mat for displaying targets to the athlete; two ormore cameras consisting of a first set of one or more cameras positionedto observe the electronic display and a second set of one or morecameras positioned to observe an object thrown or hit toward theelectronic display; and a computer coupled to the electronic display andthe two or more cameras, wherein for each event where the object is hitor thrown the computer uses video from the two or more cameras todetermine relative to the electronic display where the object is thrownor hit based on a change in the trajectory of the object.
 2. The systemof claim 1, wherein at least one camera of the second set of one or morecameras is embedded in or attached by a fixture to the electronicdisplay, wherein the at least one camera is capable of recording videoof the object as it approaches the electronic display.
 3. The system ofclaim 2 wherein the computer is capable of displaying how an objectthrown or hit would appear to the perspective of a person in front ofthe electronic display.
 4. The system of claim 2, wherein the computeris capable of displaying how an object thrown or hit would appear to theperspective of a person adjacent to the electronic display.
 5. Thesystem of claim 1, farther comprising one or more transparent barriersto protect the arrangement of light-emitting devices from damage by athrown or hit object.
 6. The system of claim 5, wherein the one or moretransparent barriers is comprised of one or more catching nets.
 7. Thesystem of claim 1, wherein the computer synchronizes the video from thetwo or more cameras for display.
 8. The system of claim 7, wherein thecomputer receives a selection of a first and second event and generatesa comparison based on videos obtained from the two or more cameras. 9.The system of claim 8, wherein the second set of one or more cameras ifcomposed of more than one camera comprises multiple cameras at differentpositions relative to the electronic display to capture differentperspectives of the object thrown or hit as the object approaches theelectronic display.
 10. The system of claim 9, wherein the computerdisplays the comparison.
 11. A computer-operable method for monitoringobjects thrown or hit by an athlete comprising: observing an electronicdisplay, wherein the electronic display contains an arrangement oflight-emitting devices attached to a vertically suspended mat fordisplaying targets to the athlete, via two or more cameras consisting ofa first set of one or more cameras positioned to observe the electronicdisplay and a second set of one or more cameras positioned to observe anobject thrown or hit toward the electronic, display; and for each eventwhere the object is hit or thrown, using video from the one or morecameras to determine relative to the electronic display where the objectis thrown or hit based on a change in the trajectory of the object. 12.The computer-operable method of claim 11, further comprising the step ofobtaining video from at least one camera of the second set of one ormore cameras, wherein the at least one camera is embedded in or attachedby a fixture to the electronic display and is capable of recording videoof the object as it approaches the electronic display.
 13. Thecomputer-operable method of claim 12, further comprising the step ofdisplaying how an object thrown or hit would appear to the perspectiveof a person in front of the electronic display.
 14. Thecomputer-operable method of claim 12, further comprising the step ofdisplaying how an object thrown or hit would appear to the perspectiveof a person adjacent to the electronic display.
 15. Thecomputer-operable method of claim 11, further comprising the step ofsynchronizing the video from the two or more cameras.
 16. Thecomputer-operable method of claim 15, further comprising the step ofreceiving a selection of a first and second event and generating acomparison based on videos obtained from the two or more cameras. 17.The computer-operable method of claim 16, further comprising the step ofobtaining video from the second set of one or more cameras if composedof more than one camera at different positions relative to theelectronic display as the to capture different perspectives of theobject thrown or hit as the object approaches the electronic display.18. The computer-operable method of claim 17, further comprising thestep of displaying the comparison.